Methods and systems for transferring client device data over a network

ABSTRACT

Systems and methods for the transfer of client device data on a network are described. One described method comprises causing non-time-sensitive client device data to be identified on a client device, causing the non-time-sensitive client device data to be prepared for output and stored by the client device, and causing the non-time-sensitive client device data to be output with a request signal upon satisfaction of a condition.

CLAIM OF PRIORITY

This application is a continuation and claims priority under 35 USC§119(e) to U.S. patent application Ser. No. 12/886,311, filed Sep. 20,2010, now U.S. Pat. No. 8,346,855 issued Jan. 1, 2013, which is adivisional of U.S. patent application Ser. No. 11/026,682 filed Dec. 31,2004, now U.S. Pat. No. 7,801,948 issued Sep. 21, 2010, the entirecontents of which are hereby incorporated by reference.

FIELD OF THE INVENTION

The present invention relates generally to methods and systems for datatransfer and, more particularly, to methods and systems for transferringclient device data over a network.

BACKGROUND

When transferring data, it may be desirable to decrease the number oftotal transmissions made between communicating devices. Similarly, itmay be desirable to decrease the total bandwidth used for low prioritydata transmissions over a network. In the context of such a network,data on a client device in communication with the network may be ofinterest to a server device also in communication with the network, butmay not be time-sensitive. This data can include system configurationdata and user interaction data. Such data may be transferred to theserver device from the client device, but each such transmissionincreases the total number of transmissions and decreases the amount oftotal bandwidth available for other transmissions. Also, each suchtransmission uses resources of both the client device and the serverdevice.

SUMMARY

Embodiments of the present invention provide methods and systems fortransferring client device data over a network. One embodiment of thepresent invention comprises causing non-time-sensitive client devicedata to be identified on a client device, causing the non-time-sensitiveclient device data to be prepared for output and stored by the clientdevice, and causing the non-time-sensitive client device data to beoutput with a request signal upon satisfaction of a condition.

Another embodiment of the present invention comprises generating aninstruction signal, the instruction signal comprising at least a firstinstruction to prepare non-time-sensitive client device data foroutputting, a second instruction to store the non-time-sensitive clientdevice data, and a condition for outputting the non-time-sensitiveclient device data with a request signal, outputting the instructionsignal to a client device, receiving the request signal from the clientdevice, identifying the non-time-sensitive client device data in therequest signal, and extracting the non-time-sensitive client devicedata.

These exemplary embodiments are mentioned not to limit or define theinvention, but to provide examples of embodiments of the invention toaid understanding thereof. Exemplary embodiments are discussed in theDetailed Description, and further description of the invention isprovided there. Advantages offered by the various embodiments of thepresent invention may be further understood by examining thisspecification.

BRIEF DESCRIPTION OF THE FIGURES

These and other features, aspects, and advantages of the presentinvention are better understood when the following Detailed Descriptionis read with reference to the accompanying drawings, wherein:

FIG. 1 is a block diagram illustrating an exemplary environment n whichone embodiment of the present invention may operate; and

FIG. 2 is a flowchart, illustrating a method for data transfer accordingto one embodiment of the present invention.

DETAILED DESCRIPTION Introduction

Embodiments of the present invention comprise methods and systems forimproving text segmentation using frequency. There are multipleembodiments of the present invention. By way of introduction andexample, one exemplary embodiment of the present invention, provides amethod for transferring client device data over a network. For example,in one embodiment of the present invention, a request signal, such as anHTTP GET, requesting access to web page is received at a server devicefrom a client device. The server device receiving the request signal maymaintain the web page. The server device may output an instructionsignal to the client device in response to receiving the request signal.The instruction signal may include the web page requested and aninstruction, such as a JavaScript program, embedded in the web page. Theweb page and instruction may be output to the client device over anetwork, such as the Internet.

In one embodiment, the instruction, when received by the client device,causes the client device to identify non-time-sensitive client devicedata. Examples of non-time-sensitive client device data compriseconfiguration data and user interaction data. The client device is thencaused by the instruction to store and prepare for output thenon-time-sensitive client device data. The non-time-sensitive clientdevice data is then caused by the instruction to be output with arequest signal upon satisfaction of a condition. The condition maycomprise, for example, storing the client device data for apredetermined length of time, storing a predetermined amount of clientdevice data, and/or generation of another request signal by the clientdevice.

In one embodiment, non-time-sensitive client device data is stored inone or more HTTP cookies. Upon satisfaction of the condition, the HTTPcookie or cookies containing the non-time-sensitive client device dataare output with a request, such as HTTP request, from the client device.The HTTP cookie or cookies may be included as extra parameters with therequest output to the server device. The HTTP cookie may then be resetby the server device after the non-time-sensitive client device data isextracted from the HTTP cookie by the server device. In anotherembodiment, the non-time-sensitive client device data is individuallymarked and stored in memory associated with an application that isrunning on the client device and is output based on a condition set bythe instruction.

This introduction is given to introduce the reader to the generalsubject matter of the application. By no means is the invention limitedto such subject matter. Exemplary embodiments are described below.

System Architecture

Referring now to the drawings in which like numerals indicate likeelements throughout the several figures, FIG. 1 is a block diagramillustrating an exemplary environment in which one embodiment of thepresent invention may operate. The system 100 shown in FIG. 1 comprisesmultiple client devices 102 a-n in communication with a server device104 over a network 106. The network 106 shown comprises the Internet. Inother embodiments, other networks, such as an intranet may be used.Moreover, methods according to the present invention may operate withina single computer.

The client devices 102 a-n shown each comprise a computer-readablemedium, such as a random access memory (RAM) 108, read only memory(ROM), and/or a storage device (such as a hard drive), coupled to aprocessor 110. The processor 110 executes computer-readable program codestored in memory 108 or other computer readable medium. Such processorsmay include a microprocessor, an ASIC, and state machines. Suchprocessors include, or may be in communication with, media, for examplecomputer-readable media, which stores instructions that, when executedby the processor, cause the processor to perform actions. Embodiments ofcomputer-readable media include, but are not limited to, an electronic,optical, magnetic, or other storage or transmission device capable ofproviding a processor, such as the processor 110 of client 102 a, withcomputer-readable instructions. Other examples of suitable mediainclude, but are not limited to, a floppy disk, CD-ROM, DVD, magneticdisk, memory chip, ROM, RAM, an ASIC, a configured processor, alloptical media, all magnetic tape or other magnetic media, or any othermedium from which a computer processor can read instructions. Also,various other forms of computer-readable media may transmit or carryinstructions to a computer, including a router, private or publicnetwork, or other transmission device or channel, both wired andwireless. The instructions may comprise code from anycomputer-programming language, including, for example, C, C++, C#,Visual Basic, Java, Python, Perl, and JavaScript.

Client devices 102 a-n may also include a number of external or internaldevices such as a mouse, a CD-ROM, DVD, a keyboard, a display, or otherinput or output devices. Examples of client devices 102 a-n are personalcomputers, digital assistants, personal digital assistants, cellularphones, mobile phones, smart phones, pagers, digital tablets, laptopcomputers, Internet appliances, and other processor-based devices. Ingeneral, a client device 102 a may be any type of processor-basedplatform that is in communication with a network 106 and that interactswith one or more application programs. Client devices 102 a-n mayoperate on any operating system, such as an operating system capable ofsupporting a browser or browser-enabled application, such as Microsoft®Windows® or Linux. The client devices 102 a-n shown include, forexample, personal computers executing a browser application program suchas Microsoft Corporation's Internet Explorer™, Netscape CommunicationCorporation's Netscape Navigator™, and Apple Computer, Inc.'s Safari™.

The client device 102 a further comprises client device data 111, suchas configuration data. In one embodiment, the configuration data may belocated in the client device's 102 a memory 108. The configuration datamay also be located in an associated storage device, such as a harddrive. The configuration data can relate to the configuration of theclient device and may comprises a physical characteristic of the clientdevice 102 a or of an application being executed on the client device102 a, such as a physical size of a display device screen, an audiosetting, or a type of pointing device being operated by the user 112 a.The configuration data may further comprise a user 112 a inputcharacteristic of the client device 102 a or of an application beingexecuted on the client device 102 a, such as a user 112 a preference forreceiving, previewing or opening email messages, a user 112 a set homepage on the Internet, or other such characteristic. In the embodimentshown, the user 112 a communicates with the client device 102 a througha user interaction 114. The user interaction 114 may comprise a requestor a command entered through an external device such as a keyboard or amouse.

Through the client devices 102 a-n, users 112 a-n can communicate overthe network 106 with each other and with other systems and devicescoupled to the network 106. As shown in FIG. 1, a server device 104 isalso coupled to the network 106. Similar to the client devices 102 a-n,the server device 104 shown comprises a processor 116 coupled to acomputer-readable memory 118. Program code in the server device's 104computer-readable memory 118 may comprise instructions to implement themethods described herein. The processor 116 executes computer-readableprogram code stored in the memory 118. Server device 104, depicted as asingle computer system, may be implemented as a network of computerprocessors. Examples of a server device 104 are servers, mainframecomputers, networked computers, a processor-based device, and similartypes of systems and devices. Client processor 110 and the serverprocessor 116 can be any of a number of computer processors, such asprocessors from Intel Corporation of Santa Clara, Calif. and MotorolaCorporation of Schaumburg, Ill.

As shown in FIG. 1, memory 118 has stored therein an article 120, suchas a web page, an electronic mail message, an image, or a sound filehosted by the server device 104. An article 120 may include, forexample, web pages of various formats, such as HTML, XML, XHTML,Portable Document Format (PDF) files, electronic mail messages, instantmessenger messages, and word processor, database, and applicationprogram document files, audio, video, or any other documents orinformation of any suitable type whatsoever made available on a network106 (such as the Internet), a personal computer, or other computing orstorage means. The embodiments described herein are described generallyin relation to HTML files or documents, but embodiments may operate onany suitable type of article 120, including any type of image. Thearticle 120 may be located in an associated storage device.

Memory 118 further has stored therein an instruction 122. Theinstruction 122 shown in FIG. 1 can comprise a JavaScript program. Inother embodiments the instruction 122 may be a computer program writtenin another computer language or may be electrical signals. Theinstruction 122 may be embedded in the document. For example, aJavaScript program instruction 122 may be embedded in the HTML code of aweb page article 120. The instruction 122 can instruct the client device102 a to perform certain actions once it has been output over thenetwork 106 to the client device 102 a.

The article 120 can be displayed on the client device 102 a in responseto a request signal 130 generated by the client device 102 a. Therequest signal 130 can be generated in response to the user interaction114 from the user 112 a. For example, the user interaction 114 maycomprise a request by the user 112 a for access to the article 120, suchas by clicking on a hyperlink associated with a web page article 120 theuser 112 a wishes to view using a web browser application being run bythe client device 102 a. The request signal 130 may comprise, forexample, an HTTP GET or an HTTP POST request signal 130.

The request signal 130 generated by the client device 102 a may beoutput to the server device 104 over the network 106. The request signal130 shown in FIG. 1 comprises data from which the server device 104 canascertain that the client device 102 a is requesting access to thearticle 120. In response to receiving the request signal 130, theprocessor 116 can retrieve the article 120 from the memory 118 orstorage device. The processor 116 can also retrieve the instruction 122from the memory 118 or storage device in response to receiving therequest signal 130. The processor 116 can then generate an instructionsignal 136 comprising the article 120 and the instruction 122. Forexample, the instruction signal 136 may comprise the content of auser-requested web page article and a JavaScript program instruction.

The instruction signal 136 generated by the server device 104 can beoutput to the client device 102 a over the network 106. Upon receivingthe instruction signal 136, the client device 102 a can display thearticle 120 on an associated display device for viewing by the user 112a. The processor 110 can execute the instruction 122 in the instructionsignal 136. The instruction 122 shown in FIG. 1 comprises a JavaScriptprogram. The JavaScript program instruction 122 may instruct the clientdevice 102 a to identify client device data on the client device 102 a.In the embodiment shown in FIG. 1, the instruction 122 instructs theclient device 102 a to identify client device data that is nottime-sensitive.

Non-time-sensitive client device data can be any data that a delay inreceipt by the server device 104 will not materially affect the user's112 a experience in accessing the article 120, in interacting with thenetwork 106, or in communicating with the server device 104.Non-time-sensitive client device data may comprise configuration dataand user interaction data. Configuration data may comprise the size ofthe client device's 102 a display and any other relevant client device102 a configuration information. Client device data may also compriseuser interaction data. User interaction data may comprise the portion ofthe web page article 120 visible on the client device's 102 a display,information about what web pages, email messages, or other articles 120the user 112 a has viewed, the time associated with viewing the article120, how a user 112 a views the article 120, whether the user 112 afollowed a hyperlink contained in the article 120 by clicking on thehyperlink, whether the user 112 a accessed an attachment to an emailmessage article 120, or other information associated with a user's 112 ainteraction with the article 120, with other articles or entities on thenetwork 106, or with the server device 104.

The instruction 122 shown in FIG. 1 further instructs the client device102 a to prepare for output and store the non-time-sensitive clientdevice data. Client device data that is time-sensitive may be output bythe client device 102 a in a request signal 130 generated solely foroutputting the time-sensitive client device data. The non-time-sensitiveclient device data can be prepared for output by setting it in an HTTPcookie. In other embodiments, the client device data may be prepared foroutput using a suitable alternative method or device. For example, inone embodiment the non-time-sensitive client device data may beindividually marked and stored in memory associated with an application,such as a web browser or an email program, that is currently running onthe client device 102 a, and may be output at a later time according toa condition defined by the instruction 122.

The non-time-sensitive client device data may also include expirationdata provided by the instruction 122. Expiration data includesinformation regarding the expiration of the non-time-sensitive clientdevice data. For example, the expiration data may indicate that thenon-time-sensitive client device data expires after the current browsersession or after a certain period of time. In one embodiment, thenon-time-sensitive client device data may not be output if it hasexpired according to the expiration data.

The instruction 122 in the embodiment shown in FIG. 1 further instructsthe client device 102 a to output the prepared non-time-sensitive clientdevice data with a request signal 130 upon satisfaction of a condition.In the embodiment shown, the condition may comprise the generation ofthe next request signal 130 by the client device 102 a in response touser interaction 114 by the user 112 a. The condition may comprise adifferent or an additional criterion, such as the storage andpreparation for output of n pieces of non-time-sensitive client devicedata in the client device 102 a, where n is a predetermined positiveinteger. The condition may alternatively or additionally comprise thestorage of the non-time-sensitive client device data in the clientdevice 102 a for a specified period of time, or the closing of anapplication the user 112 a used to request the article 120 from theserver device 104.

The client device 102 a in the embodiment shown can output to the serverdevice 104 the non-time-sensitive client device data set in the preparedHTTP cookie included with the next-generated user request in thenext-generated request signal 130. The next-generated user requestsignal may comprise a request for access to another article from serverdevice 104 and can be an HTTP GET request signal. The next-generatedrequest signal may comprise input to an article and can be an HTTP POSTrequest signal. The non-time-sensitive client device data can beincluded in the request signal as extra parameters. The server device104 receives the next-generated request signal 130 and can examine itfor the presence of client device data. If, as in the embodiment shownin FIG. 1, the next-generated request signal 130 comprises client devicedata, the processor 116 of the server device 104 can retrieve the clientdevice data from the request signal 130.

The client device data in the embodiment shown in FIG. 1 can then bestored in a database 132 in communication with the server device 104. Inone embodiment, the server device 104 may later use the client devicedata stored in the database 132. For example, the server device maylater user the stored client device data to improve server device's 104system performance, learn about the activities and interests of the user112 a, and to aggregate the usage patterns of all users of the article120.

In the embodiment shown, the processor 116 can reset the HTTP cookieupon storing the client device data in the database 134. For example,the processor 116 may reset the HTTP cookie by setting a cookieexpiration date that has already passed. The processor 116 shown canthen process the next-generated user request in the next-generatedrequest signal 130. In one embodiment, the server device 104 maygenerate a new instruction signal 136 that may comprise the instruction122 a new instruction, or the reset HTTP cookie, depending upon theclient device data received. As such, the embodiment described withrespect to FIG. 1 may be iterative in nature, and capable of repetition.

It should be noted that the present invention may comprise systemshaving different architecture than that which is shown in FIG. 1. Forexample, in some systems according to the present invention, the serverdevice 104 and the client device 102 a may comprise a single physical orlogical server, or the server device 104 may comprise a plurality ofserver devices that function with a load balancer device and storeinformation related to different documents. The system 100 shown in FIG.1 is merely exemplary, and is used to explain the exemplary methodsshown in FIG. 2.

Process

Various methods may be implemented in the environment shown in FIG. 1and other environments, according to the present invention. Methodsaccording to the present invention may be implemented by, for example, aprocessor-executable program code stored on a computer-readable medium.

FIG. 2 is a flowchart, illustrating a method 200 for data transferaccording to one embodiment of the present invention. As seen in block210, a client device, such as the client device 102 a of FIG. 1, canoutput a request signal for access to an article. For example, therequest signal can be generated by a user selecting a hyperlink to a webpage article displayed using a web browser application on a clientdevice. The request signal may be, for example, an HTTP GET or and HTTPPOST request signal. The request signal may be output to a server, suchas the server device 104 shown in FIG. 1.

As shown in block 220, the server outputs an instruction signal. Theinstruction signal may include the content of a user requested web pagearticle and an instruction, and may be generated in response to theserver's 104 receipt of the request signal 130. The instruction maycomprise a JavaScript program such as the instruction 122 of FIG. 1. Theinstruction may be embedded in the article 120. For example, aJavaScript instruction may be embedded in the HTML code of the requestedweb page article.

As shown by block 230, the instruction can cause the client device 102 ato identify client device data and specifically non-time-sensitiveclient device data. The non-time-sensitive client device data maycomprise the client device data discussed in relation to FIG. 1. Forexample, the client device data may comprise configuration data or userinteraction data. Configuration data can be, for example, the size ofthe client device's 102 a display, what type of pointing device or otherperipheral devices are connected to the client device 102 a, and anyother relevant client device 102 a configuration information. Userinteraction data can be, for example, information about what web pages,email messages, or other articles 120 the user 112 a has viewed, thetime associated with viewing the article 120, how the user 112 a viewsthe article 120, whether the user 112 a followed a hyperlink containedin an article, or any other information associated with a user's 112 ainteraction with an article or entities on the network 106, or with theserver device 104.

As shown in block 240, the instruction 122 causes the non-time-sensitiveclient device data identified by the client device 102 a to be preparedfor output and stored by the client device. For example, thenon-time-sensitive client device data may be set in one or more HTTPcookies and stored in a random access memory such as the memory 108 oran associated storage device, such as a hard drive, according to theJavaScript program instruction 122. Alternatively, thenon-time-sensitive client device data may be individually marked andstored in memory associated with an application, such as a web browseror email program, currently running on the client device.

The instruction 122, as shown in block 250, can cause thenon-time-sensitive client device data that has been prepared for outputto be output with a subsequent request signal upon satisfaction of acondition. The subsequent request signal may comprise the next-generatedrequest signal described in relation to FIG. 1. This request signal maycomprise a request for access to another article from a server deviceand can be an HTTP GET request signal. This request signal mayalternatively comprise input to an article and can be an HTTP POSTrequest signal or any other suitable HTTP signal. The condition maycomprise a storing of the non-time-sensitive client device data for apredetermined length of time, a storing of a predetermined amount ofnon-time-sensitive client device data, and/or a generation of a requestsignal by the client device. For example, the condition may comprise arequest by the user 112 a of the client device 102 a for access toanother article maintained by the server. Alternatively or additionally,the condition may comprise the collection of n pieces ofnon-time-sensitive client device data, or the storing of thenon-time-sensitive client device data for a specified period of time.

For example, the non-time-sensitive client device data may be outputwith a request signal upon the occurrence of the earliest of acollection of 10 pieces of non-time-sensitive client device data by theclient device 102 a, a passing of 48 hours since the non-time-sensitiveclient device data was stored by the client device 102 a, or ageneration of a time-sensitive request signal. The condition can alsoinclude checking any expiration data associated with thenon-time-sensitive client device data to determine if it has expired. Inone embodiment, the non-time-sensitive client device data is not outputif it has expired. If the condition is met, the non-time-sensitiveclient device data can be included with the subsequent request signal.In one embodiment, the non-time-sensitive client device data can beincluded in the subsequent request signal as extra parameters.

As shown in block 260, the server 104 examines the received requestsignal 130 for the presence of client device data. For example, theserver's processor 116 may perform this function by noting the presenceof any HTTP cookies attached to the request signal 130. The processor116 may then examine the HTTP cookies to determine if they compriseclient device data. As noted in block 270, upon finding the clientdevice data with the request signal 130, the server 104 retrieves thenon-time-sensitive client device data. For example, the server 104 mayextract the non-time-sensitive client device data from an HTTP cookie.The server 104 may then cause the HTTP cookie to be reset. For example,the server may set a cookie expiration date that has already passed toensure that the HTTP cookie containing the non-time-sensitive clientdevice data is not resent.

In the embodiment shown in FIG. 2, the server may use thenon-time-sensitive client device data obtained for various purposes. Forexample, the server may wish to determine the time the user 112 a spentreviewing an article, the portions of the article the user 112 aconcentrated on or that were visible on the user's 112 a graphical userinterface. The server may also wish to learn which hyperlinks on a webpage article the user 112 a followed, and the total time required toload the article on the user's 112 a client device 102 a.

General

The foregoing description of the preferred embodiments of the inventionhas been presented only for the purpose of illustration and descriptionand is not intended to be exhaustive or to limit the invention to theprecise forms disclosed. Numerous modifications and adaptations thereofwill be apparent to those skilled in the art without departing from thespirit and scope of the present invention.

That which is claimed:
 1. A computer-implemented method comprising:receiving at a server system and from a client device, a request foraccess to an article that is available from the server system; andproviding to the client device the article with a JavaScript programembedded in the article, wherein the JavaScript program is configured to(a) cause non-time-sensitive user interaction data to be identified onthe client device; (b) cause the non-time-sensitive user interactiondata to be set in at least one HTTP cookie and stored by the clientdevice; (c) cause the HTTP cookie to be output by the client device witha subsequent request signal that is directed to the server system, basedon satisfaction of a condition, the condition comprising at least one ofa generation of a time-sensitive request signal by the client device, astoring of the HTTP cookie for predetermined period of time, and astoring of a predetermined amount of non-time-sensitive user interactiondata; and (d) cause the HTTP cookie to be reset after being output withthe subsequent request signal that is directed to the server system, andwherein the non-time-sensitive user interaction data is data whosedelayed receipt by the server system does not materially affect a clientdevice user's experience in accessing the article.
 2. The method ofclaim 1, wherein the non-time-sensitive user interaction data comprisesinformation associated with one or more of user interactions with thearticle, user interactions with other articles or entities, and userinteractions with the server system.
 3. The method of claim 1, whereinthe article comprises one or more of a web page, a Portable DocumentFormat file, an electronic mail message, an instant messenger message, aword processor document, a database file, an application programdocument file, an image file, a video file, and a sound file.
 4. Themethod of claim 1, further comprising generating, by the server system,the JavaScript program in response to receiving the request from theclient device for access to the article.
 5. The method of claim 1,wherein the request from the client device comprises an HTTP request. 6.The method of claim 1, wherein the condition further comprises closingof an application that was used by the client device to request accessto the article.
 7. The method of claim 1, further comprising: checking,by the client device, expiration data for the non-time-sensitive userinteraction data; and using the expiration data to determine whether tocause the non-time-sensitive user interaction data to be output to theserver system.
 8. A computer-implemented method comprising: receiving ata server system and from a client device, a request for access to anarticle that is available from the server system; and providing to theclient device the article with a computer program embedded in thearticle, wherein the computer program is configured to (a) causenon-time-sensitive client device data to be identified on the clientdevice; (b) cause the non-time-sensitive client device data to beprepared for output and stored by the client device; and (c) cause thenon-time-sensitive client device data to be output by the client devicewith a subsequent request signal that is directed to the server system,based on satisfaction of a condition, the condition comprising at leastone of a generation of a time-sensitive request signal by the clientdevice, a storing of the non-time-sensitive client device data forpredetermined period of time, and a storing of a predetermined amount ofnon-time-sensitive client device data, and wherein thenon-time-sensitive client device data is data whose delayed receipt bythe server system does not materially affect a client device user'sexperience in accessing the article.
 9. The method of claim 8, whereinthe non-time-sensitive client device data comprises at least one ofconfiguration data and user interaction data.
 10. The method of claim 8,wherein the non-time-sensitive client device data comprises informationassociated with one or more of user interactions with the article, userinteractions with other articles or entities, and user interactions withthe server system.
 11. The method of claim 8, wherein the articlecomprises one or more of a web page, a Portable Document Format file, anelectronic mail message, an instant messenger message, a word processordocument, a database file, an application program document file, animage file, a video file, and a sound file.
 12. The method of claim 8,further comprising generating, by the server system, the computerprogram in response to receiving the request from the client device foraccess to the article.
 13. The method of claim 8, wherein the requestfrom the client device comprises an HTTP request.
 14. The method ofclaim 8, wherein the condition further comprises closing of anapplication that was used by the client device to request access to thearticle.
 15. The method of claim 8, further comprising checking, by theclient device, expiration data for the non-time-sensitive client devicedata, and using the expiration data to determine whether to cause thenon-time-sensitive client device data to be output to the server system.16. A computer server system comprising: an interface configured toallow the server system to communicate with one or more client devicesover a network; memory that stores program code that can be provided toa client device in response to a request from the client device foraccess to an article that is available from the server system, whereinthe program code is configured to (a) cause non-time-sensitive clientdevice data to be identified on the client device; (b) cause thenon-time-sensitive client device data to be prepared for output andstored by the client device; and (c) cause the non-time-sensitive clientdevice data to be output by the client device with a subsequent requestsignal that is directed to the server system, based on satisfaction of acondition, the condition comprising at least one of a generation of atime-sensitive request signal by the client device, a storing of thenon-time-sensitive client device data for predetermined period of time,and a storing of a predetermined amount of non-time-sensitive clientdevice data, and wherein the non-time-sensitive client device data isdata whose delayed receipt by the server system does not materiallyaffect a client device user's experience in accessing the article; and aprocessor coupled to the memory, wherein the processor is configured tocause the client device to be provided with the article with the programcode embedded in the article.
 17. The system of claim 16, wherein thenon-time-sensitive client device data comprises at least one ofconfiguration data and user interaction data.
 18. The system of claim16, wherein the non-time-sensitive client device data comprisesinformation associated with one or more of user interactions with thearticle, user interactions with other articles or entities, and userinteractions with the server system.
 19. The system of claim 16, whereinthe article comprises one or more of a web page, a Portable DocumentFormat file, an electronic mail message, an instant messenger message, aword processor document, a database file, an application programdocument file, an image file, a video file, and a sound file.
 20. Thesystem of claim 16, wherein the request from the client device comprisesan HTTP request.
 21. The system of claim 16, wherein the conditionfurther comprises closing of an application that was used by the clientdevice to request access to the article.
 22. The system of claim 16,wherein the program code is further configured to cause the clientdevice to check expiration data for the non-time-sensitive client devicedata, and use the expiration data to determine whether to cause thenon-time-sensitive client device data to be output to the server system.